FUNCTION calcFisheryObservations
  {
	int j,i,itmp;
	s_obs_catch.initialize();
	for(i=1;i<=nco;i++)
	{
		rec=mes_rec(i);
		surv=mes_surv(i);
		for(j=rec;j<=surv;j++)
		{
			s_catco(j,i)=F(j,i)*N(j,i)*(1.-S(j,i))/Z(j,i); //catch per cohort
		}
	}
	
	for(i=1;i<=nmo;i++)
	{
		s_pred_p_co(i)=s_catco(i)/sum(catco(i));
		s_pred_catch(i)=0;
		itmp=0;
		for(j=1;j<=nco;j++)
		{
			s_pred_catch(i)+=s_catco(i,j)*s_weico(i,j);		
			//ordena catco en catage
			if(ones(i,j)>0)
			{
				itmp=itmp+1;
				s_catage(i,itmp)=s_catco(i,j);
				s_pred_p_age(i,itmp)=s_pred_p_co(i,j); //
				npop(i,itmp)=N(i,j);
			}
		}
	}


	 //Predicted catch and population at length
	 for (i=1;i<=nyr;i++)
	 {
		for(j=1;j<=12;j++)
		{
			itmp=mes(j,i);
			s_catlen(itmp)=s_catage(itmp)*s_Agesize(j);
			npopsize(itmp)=npop(itmp)*s_Agesize(j);
      		}
	}
	for (i=1; i<= nmo; i++)
	{
		s_pred_p_fishlen(i)=s_catlen(i)/(sum(s_catlen(i))+1e-10);
	}

	if(verbose)cout<<"**** Ok after calcFisheryObservations ****"<<endl;
  }
